<!-- HTML header for doxygen 1.8.14-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="cache-control" content="max-age=86400"/>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>GBDK 2020 Docs: General Documentation</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen_extra.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">GBDK 2020 Docs
   &#160;<span id="projectnumber">4.4.0</span>
   </div>
   <div id="projectbrief">API Documentation for GBDK 2020</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('index.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="PageDoc"><div class="header">
  <div class="headertitle">
<div class="title">General Documentation </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p><a class="anchor" id="docs_index"></a></p><ul>
<li><a class="el" href="docs_getting_started.html">Getting Started</a></li>
<li><a class="el" href="docs_links_and_tools.html">Links, Tools and Debugging</a></li>
<li><a class="el" href="docs_using_gbdk.html">Using GBDK</a></li>
<li><a class="el" href="docs_coding_guidelines.html">Coding Guidelines</a></li>
<li><a class="el" href="docs_rombanking_mbcs.html">ROM/RAM Banking and MBCs</a></li>
<li><a class="el" href="docs_supported_consoles.html">Supported Consoles &amp; Cross Compiling</a></li>
<li><a class="el" href="docs_toolchain.html">GBDK Toolchain</a></li>
<li><a class="el" href="docs_example_programs.html">Example Programs</a></li>
<li><a class="el" href="docs_faq.html">Frequently Asked Questions (FAQ)</a></li>
<li><a class="el" href="docs_migrating_versions.html">Migrating to new GBDK Versions</a></li>
<li><a class="el" href="docs_releases.html">GBDK Release Notes</a></li>
<li><a class="el" href="docs_toolchain_settings.html">Toolchain settings</a></li>
</ul>
<h1><a class="anchor" id="autotoc_md306"></a>
Introduction</h1>
<p>Welcome to GBDK-2020! The best thing to do is head over to the <a class="el" href="docs_getting_started.html">Getting Started</a> section to get up and running.</p>
<p>If you are upgrading please check <a class="el" href="docs_releases.html">GBDK Release Notes</a> and <a class="el" href="docs_migrating_versions.html">Migrating to new GBDK Versions</a></p>
<h1><a class="anchor" id="autotoc_md307"></a>
About the Documentation</h1>
<p>This documentation is partially based on material written by the original GBDK authors in 1999 and updated for GBDK-2020. The API docs are automatically generated from the C header files using Doxygen.</p>
<p>GBDK-2020 is an updated version of the original GBDK with a modernized SDCC toolchain and many API improvements and fixes. It can be found at: <a href="https://github.com/gbdk-2020/gbdk-2020/">https://github.com/gbdk-2020/gbdk-2020/</a>.</p>
<p>The original GBDK sources, documentation and website are at: <a href="http://gbdk.sourceforge.net/">http://gbdk.sourceforge.net/</a></p>
<h1><a class="anchor" id="autotoc_md308"></a>
About GBDK</h1>
<p>The GameBoy Developer's Kit (GBDK, GBDK-2020) is used to develop games and programs for the Nintendo Game Boy (and some other consoles) in C and assembly. GBDK includes a set of libraries for the most common requirements and generates image files for use with a real GameBoy or emulators.</p>
<p>GBDK features:</p><ul>
<li>C and ASM toolchain based on SDCC with some support utilities</li>
<li>A set of libraries with source code</li>
<li>Example programs in ASM and in C</li>
<li>Support for multiple ROM bank images and auto-banking</li>
<li>Support for multiple consoles: Game Boy, Analogue Pocket, Mega Duck, Master System and Game Gear and NES</li>
</ul>
<p>GBDK is freeware. Most of the tooling code is under the GPL. The runtime libraries should be under the LGPL. Please consider mentioning GBDK in the credits of projects made with it.</p>
<hr  />
<h1><a class="anchor" id="autotoc_md309"></a>
Historical Info and Links</h1>
<p>Work on the original GBDK (pre-2020) was by:</p>
<p>Pascal Felber, Lars Malmborg, Michael Hope, David Galloway (djmips), John Fuge, and others.</p>
<p>The following is from the original GBDK documentation:</p>
<p>Thanks to quang for many of the comments to the gb functions. Some of the comments are ripped directly from the Linux Programmers manual, and some directly from the pan/k00Pa document.</p>
<p><a href="http://quangdx.com/">quangDX.com</a></p>
<p><a href="http://gbdk.sourceforge.net/">The (original) gbdk homepage</a></p>
<p><a href="http://www.devrs.com/gb/">Jeff Frohwein's GB development page.</a> A extensive source of Game Boy related information, including GeeBee's GB faq and the pan/k00Pa document. </p>
</div></div><!-- PageDoc -->
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.14-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
</div>
</body>
</html>
